package com.wicket.okrcomponent.biz.service.dto.req;

import com.wicket.okrcomponent.common.dto.BaseDto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import javax.validation.constraints.NotNull;
import lombok.Data;

/**
 * @desc IssueOffcialDocStoryReqDto
 * @使用场景
 */
@Data
public class IssueOffcialDocStoryReqDto
  extends BaseDto
  implements Serializable {

  /**
   * 周期名称
   */
  @ApiModelProperty("周期名称")
  private String cycleStandardName;

  /**
   * 周期开始时间
   */
  @ApiModelProperty("周期开始时间")
  private Date cycleStartTime;

  /**
   * 周期结束时间
   */
  @ApiModelProperty("周期结束时间")
  private Date cycleEndTime;

  /**
   * 数量
   */
  @ApiModelProperty("数量")
  private Long acount;

  /**
   * 周期类型名称
   */
  @ApiModelProperty("周期类型名称")
  private String cycleTypeName;

  /**
   * 周期类型标识
   */
  @ApiModelProperty("周期类型标识")
  private String cycleTypeCode;

  /**
   * 目标内容名称
   */
  @ApiModelProperty("目标内容名称")
  private String targetContentName;

  /**
   * 开始周期名称
   */
  @ApiModelProperty("开始周期名称")
  private String cycleStartName;

  /**
   * 结束周期名称
   */
  @ApiModelProperty("结束周期名称")
  private String cycleEndName;

  /**
   * 分工内容类型编码 EQUATIVE_DEPT:同级部门 DEPT_TYPE:部门类型 PRESENT_DEPT:当前部门
   */
  @ApiModelProperty("分工内容类型编码")
  private String divisionContType;

  /**
   * 向下分工层级编码 DEPT_END:部门结束 PUISNE_DEPT_END:下属部门结束 DEPT_PUISNE_STAFF_END:部门下属人员结束 PUISNE_DEPT_STAFF_END:下属部门人员结束
   */
  @ApiModelProperty("向下分工层级编码")
  private String encode;

  /**
   * 编码名称
   */
  @ApiModelProperty("编码名称")
  private String codeName;

  /**
   * 分工内容名称
   */
  @ApiModelProperty("分工内容名称")
  private String divisionContName;

  /**
   * 系统当前时间
   */
  @ApiModelProperty("系统当前时间")
  private Date systemDateTime;

  /**
   * 随机数位数
   */
  @ApiModelProperty("随机数位数")
  private Long randomNumberDigits;

  /**
   * 空间名称
   */
  @ApiModelProperty("空间名称")
  private String spaceName;

  /**
   * 指标简称
   */
  @ApiModelProperty("指标简称")
  private String objectiveShortName;

  /**
   * 目标周期简称
   */
  @ApiModelProperty("目标周期简称")
  private String cyclelAlias;

  /**
   * 真实姓名
   */
  @ApiModelProperty("真实姓名")
  private String idCardName;

  /**
   * 组内职务名称
   */
  @ApiModelProperty("组内职务名称")
  private String virtualOrganizationPosition;

  /**
   * 修订主体内容
   */
  @ApiModelProperty("修订主体内容")
  private String reviseSubjectContent;

  /**
   * 修订行为名称
   */
  @ApiModelProperty("修订行为名称")
  private String reviseBehaviorName;

  /**
   * 变更后字段中文内容
   */
  @ApiModelProperty("变更后字段中文内容")
  private String columnContent;

  /**
   * 目标周期名称
   */
  @ApiModelProperty("目标周期名称")
  private String targetCycleName;

  /**
   * 任务名称
   */
  @ApiModelProperty("任务名称")
  private String taskName;

  /**
   * 空间简称
   */
  @ApiModelProperty("空间简称")
  private String abbreviation;

  /**
   * 自定义字段1
   */
  @ApiModelProperty("自定义字段1")
  private String customField1;

  /**
   * 自定义字段2
   */
  @ApiModelProperty("自定义字段2")
  private String customField2;

  /**
   * 父子中周期类型 PARENT_CYCLE:父周期 MID_CYCLE:中期 SUB_CYCLE:子周期 PROCESS_CYCLE:过程周期
   */
  @ApiModelProperty("父子中周期类型")
  private String parentSubMidCycleType;

  /**
   * 自定义字段3
   */
  @ApiModelProperty("自定义字段3")
  private String customField3;

  /**
   * 通用主键ID
   */
  @ApiModelProperty("通用主键ID")
  private String commPrimaryKey;

  /**
   * 冗余评价模板ID
   */
  @ApiModelProperty("冗余评价模板ID")
  private String evaluationTemplateId;

  /**
   * 内容表主键ID
   */
  @ApiModelProperty("内容表主键ID")
  private String entityId;

  /**
   * 实际值（数值）
   */
  @ApiModelProperty("实际值（数值）")
  private Double actualValue;

  /**
   * 达成度（数值）
   */
  @ApiModelProperty("达成度（数值）")
  private Double reach;

  /**
   * 较上次目标增降幅
   */
  @ApiModelProperty("较上次目标增降幅")
  private Double fromLastTargetLiftRatio;

  /**
   * 进度较上次增降幅
   */
  @ApiModelProperty("进度较上次增降幅")
  private Double progressFromLastRatio;

  /**
   * 达成度较上次增降幅
   */
  @ApiModelProperty("达成度较上次增降幅")
  private Double actualFromLastTimeRatio;

  /**
   * 进度值（数值）
   */
  @ApiModelProperty("进度值（数值）")
  private Double progressValue;

  /**
   * 实际得分（数值）
   */
  @ApiModelProperty("实际得分（数值）")
  private Double actualScoreValue;

  /**
   * 实际得分较上次增降幅（数值）
   */
  @ApiModelProperty("实际得分较上次增降幅（数值）")
  private Double fromLastRatioActualScore;

  /**
   * 汇报得分（数值）
   */
  @ApiModelProperty("汇报得分（数值）")
  private Double reportScoreValue;

  /**
   * 汇报得分较上次增降幅（数值）
   */
  @ApiModelProperty("汇报得分较上次增降幅（数值）")
  private Double fromLastRatioReportScore;

  /**
   * 实际值单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:百分率 PORTION:份 %:%
   */
  @ApiModelProperty("实际值单位")
  private String actualValueUnit;

  /**
   * 进度值单位
   */
  @ApiModelProperty("进度值单位")
  private String progressValueUnit;

  /**
   * 达成度单位
   */
  @ApiModelProperty("达成度单位")
  private String reachUnit;

  /**
   * 对象名称
   */
  @ApiModelProperty("对象名称")
  private String objectName;

  /**
   * 汇报得分单位 TIMES:次 DOOR:门 PART:部 SET:套 INDIVIDUAL:个 YUAN:元 NNT:人 PIECE:篇 TERM:项 FEN:分 WAN_YUAN:万元 PERCENT:百分率 PORTION:份 %:%
   */
  @ApiModelProperty("汇报得分单位")
  private String reportScoreUnit;

  /**
   * 绑定手机
   */
  @ApiModelProperty("绑定手机")
  private String phone;

  /**
   * 应用ID
   */
  @ApiModelProperty("应用ID")
  private String appId;

  /**
   * 验证码
   */
  @ApiModelProperty("验证码")
  private String verificationCode;

  /**
   * 责任主体名称
   */
  @ApiModelProperty("责任主体名称 ")
  private String dutyBodyName;

  /**
   * 部门简称
   */
  @ApiModelProperty("部门简称")
  private String deptShortName;

  /**
   * 通用数值字段（整数型）
   */
  @ApiModelProperty("通用数值字段（整数型）")
  private Long comNumField;

  /**
   * 汇报任务审核驳回原因
   */
  @ApiModelProperty("汇报任务审核驳回原因")
  private String reportTaskRejectReason;

  /**
   * 身份人员ID
   */
  @ApiModelProperty("身份人员ID")
  private String originalRoleMemberId;

  /**
   * 目标内容标题名称
   */
  @ApiModelProperty("目标内容标题名称")
  private String targetContentTitleName;

}
